public abstract aspect AbstractObserver {
	abstract pointcut observedField();
	
	before(): observedField() {
		//instrukcje do wykonania
	}
}

public aspect AccountObserver extends AbstractObserver {
	pointcut observedField(): set(Account.money) || get(Account.money);
}